﻿
using System.ComponentModel.DataAnnotations.Schema;
using ZhiJiao.Models.Entities.Enums;

namespace ZhiJiao.Models.Entities
{
    /// <summary>
    /// 测评
    /// </summary>
    [Table("Evaluations")]
    public class Evaluation : BaseEntity
    {
        /// <summary>
        /// 所属机构
        /// </summary>
        public Instruction Instruction { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        public EvaluationStatus Status { get; set; }

        /// <summary>
        /// 测试模块
        /// </summary>
        public List<EvaluationPart>? EvaluationParts { get; set; }

        /// <summary>
        /// 测试名称
        /// </summary>
        public string Name { set; get; }

        /// <summary>
        /// 是否免费
        /// </summary>
        public bool? IsFree { get; set; }

        /// <summary>
        /// 正常价格
        /// </summary>
        public decimal? NormalPrice { get; set; }

        /// <summary>
        /// 白银会员价
        /// </summary>
        public decimal? SilverPrice { get; set; }

        /// <summary>
        /// 黄金会员价
        /// </summary>
        public decimal? GoldPrice { get; set; }

        /// <summary>
        /// 钻石会员价格
        /// </summary>
        public decimal? DiamondPrice { get; set; }

        /// <summary>
        /// 持续时间
        /// (分钟数)
        /// </summary>
        public int? LastTime { get; set; }

        /// <summary>
        /// 列表图拍Url
        /// </summary>
        public ZJImage? ListImage { get; set; }

        /// <summary>
        /// 测试主图
        /// </summary>
        public ZJImage? MainImage { get; set; }


        /// <summary>
        /// 测试详情图Url列表
        /// </summary>
        public List<ZJImage>? DetailImages { get; set; }

        /// <summary>
        /// 测试简介
        /// </summary>
        public string? Introduction { get; set; }

        /// <summary>
        /// 参与规则
        /// </summary>
        public List<EvaluationRule>? EvaluationRules { get; set; }

        /// <summary>
        /// 规则列表
        /// </summary>
        public List<Rule>? Rules { get; set; } 

        /// <summary>
        /// 有效性
        /// </summary>
        public bool IsActive { get; set; }
    }
}
